0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇒, 89 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 0 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 10 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔, 0 ms)
↳11 PiDP
↳12 PiDPToQDPProof (⇒, 0 ms)
↳13 QDP
↳14 QDPSizeChangeProof (⇔, 0 ms)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔, 0 ms)
↳18 PiDP
↳19 PiDPToQDPProof (⇒, 4 ms)
↳20 QDP
↳21 QDPOrderProof (⇔, 18 ms)
↳22 QDP
↳23 DependencyGraphProof (⇔, 0 ms)
↳24 TRUE
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U2_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
U2_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, X42)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U3_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_ggaa(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
divB_in_ggaa(T64, T65, 0, T64) → divB_out_ggaa(T64, T65, 0, T64)
U4_ggaa(T39, T40, T28, T29, divB_out_ggaa(T43, s(T40), T28, T29)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U2_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
U2_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, X42)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U3_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_ggaa(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
divB_in_ggaa(T64, T65, 0, T64) → divB_out_ggaa(T64, T65, 0, T64)
U4_ggaa(T39, T40, T28, T29, divB_out_ggaa(T43, s(T40), T28, T29)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → U2_GGAA(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → MINUSA_IN_GGA(T39, T40, X42)
MINUSA_IN_GGA(s(T55), s(T56), X63) → U1_GGA(T55, T56, X63, minusA_in_gga(T55, T56, X63))
MINUSA_IN_GGA(s(T55), s(T56), X63) → MINUSA_IN_GGA(T55, T56, X63)
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → U3_GGAA(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_GGAA(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_GGAA(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
U3_GGAA(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → DIVB_IN_GGAA(T43, s(T40), T28, T29)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U2_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
U2_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, X42)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U3_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_ggaa(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
divB_in_ggaa(T64, T65, 0, T64) → divB_out_ggaa(T64, T65, 0, T64)
U4_ggaa(T39, T40, T28, T29, divB_out_ggaa(T43, s(T40), T28, T29)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → U2_GGAA(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → MINUSA_IN_GGA(T39, T40, X42)
MINUSA_IN_GGA(s(T55), s(T56), X63) → U1_GGA(T55, T56, X63, minusA_in_gga(T55, T56, X63))
MINUSA_IN_GGA(s(T55), s(T56), X63) → MINUSA_IN_GGA(T55, T56, X63)
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → U3_GGAA(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_GGAA(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_GGAA(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
U3_GGAA(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → DIVB_IN_GGAA(T43, s(T40), T28, T29)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U2_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
U2_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, X42)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U3_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_ggaa(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
divB_in_ggaa(T64, T65, 0, T64) → divB_out_ggaa(T64, T65, 0, T64)
U4_ggaa(T39, T40, T28, T29, divB_out_ggaa(T43, s(T40), T28, T29)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
MINUSA_IN_GGA(s(T55), s(T56), X63) → MINUSA_IN_GGA(T55, T56, X63)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U2_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
U2_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, X42)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U3_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_ggaa(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
divB_in_ggaa(T64, T65, 0, T64) → divB_out_ggaa(T64, T65, 0, T64)
U4_ggaa(T39, T40, T28, T29, divB_out_ggaa(T43, s(T40), T28, T29)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
MINUSA_IN_GGA(s(T55), s(T56), X63) → MINUSA_IN_GGA(T55, T56, X63)
MINUSA_IN_GGA(s(T55), s(T56)) → MINUSA_IN_GGA(T55, T56)
From the DPs we obtained the following set of size-change graphs:
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → U3_GGAA(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_GGAA(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → DIVB_IN_GGAA(T43, s(T40), T28, T29)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U2_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, X42))
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
U2_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, X42)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
divB_in_ggaa(s(T39), s(T40), s(T28), T29) → U3_ggaa(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_ggaa(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → U4_ggaa(T39, T40, T28, T29, divB_in_ggaa(T43, s(T40), T28, T29))
divB_in_ggaa(T64, T65, 0, T64) → divB_out_ggaa(T64, T65, 0, T64)
U4_ggaa(T39, T40, T28, T29, divB_out_ggaa(T43, s(T40), T28, T29)) → divB_out_ggaa(s(T39), s(T40), s(T28), T29)
DIVB_IN_GGAA(s(T39), s(T40), s(T28), T29) → U3_GGAA(T39, T40, T28, T29, minusA_in_gga(T39, T40, T43))
U3_GGAA(T39, T40, T28, T29, minusA_out_gga(T39, T40, T43)) → DIVB_IN_GGAA(T43, s(T40), T28, T29)
minusA_in_gga(T50, 0, T50) → minusA_out_gga(T50, 0, T50)
minusA_in_gga(s(T55), s(T56), X63) → U1_gga(T55, T56, X63, minusA_in_gga(T55, T56, X63))
U1_gga(T55, T56, X63, minusA_out_gga(T55, T56, X63)) → minusA_out_gga(s(T55), s(T56), X63)
DIVB_IN_GGAA(s(T39), s(T40)) → U3_GGAA(T40, minusA_in_gga(T39, T40))
U3_GGAA(T40, minusA_out_gga(T43)) → DIVB_IN_GGAA(T43, s(T40))
minusA_in_gga(T50, 0) → minusA_out_gga(T50)
minusA_in_gga(s(T55), s(T56)) → U1_gga(minusA_in_gga(T55, T56))
U1_gga(minusA_out_gga(X63)) → minusA_out_gga(X63)
minusA_in_gga(x0, x1)
U1_gga(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIVB_IN_GGAA(s(T39), s(T40)) → U3_GGAA(T40, minusA_in_gga(T39, T40))
POL(0) = 0
POL(DIVB_IN_GGAA(x1, x2)) = x1
POL(U1_gga(x1)) = x1
POL(U3_GGAA(x1, x2)) = x2
POL(minusA_in_gga(x1, x2)) = x1
POL(minusA_out_gga(x1)) = x1
POL(s(x1)) = 1 + x1
minusA_in_gga(T50, 0) → minusA_out_gga(T50)
minusA_in_gga(s(T55), s(T56)) → U1_gga(minusA_in_gga(T55, T56))
U1_gga(minusA_out_gga(X63)) → minusA_out_gga(X63)
U3_GGAA(T40, minusA_out_gga(T43)) → DIVB_IN_GGAA(T43, s(T40))
minusA_in_gga(T50, 0) → minusA_out_gga(T50)
minusA_in_gga(s(T55), s(T56)) → U1_gga(minusA_in_gga(T55, T56))
U1_gga(minusA_out_gga(X63)) → minusA_out_gga(X63)
minusA_in_gga(x0, x1)
U1_gga(x0)